1. Field of the Invention
The present invention relates generally to three-dimensional (3D) modeling, and in particular, to a method, apparatus, and article of manufacture for dynamically creating and modeling/editing a solid model (e.g., on a multi-touch device).
2. Description of the Related Art
(Note: This application references a number of different publications as indicated throughout the specification by reference numbers enclosed in brackets, e.g., [x]. A list of these different publications ordered according to these reference numbers can be found below in the section entitled “References.” Each of these publications is incorporated by reference herein.)
Many 3D modeling and drawing applications are used in both desktop and multi-touch devices. However, none of the existing multi-touch 3D modeling or drawing applications provide a comprehensive 3D modeling system that take advantage of the multi-touch capabilities available across multiple mobile devices, without interfering with basic 3D navigation or requiring proficiency in the “art” of 3D modeling. Further, none of the prior art modeling systems provide the ability to dynamically create and dynamically modify/edit a 3D solid model (e.g., via user gestures). To better understand the problems and deficiencies of the prior art, a description of prior art modeling applications and activities may be useful.
Some prior art modeling applications (e.g., the Spaceclaim Engineering™ application), have explored multi-touch interactions in the context of 3D modeling tasks. However, such prior art applications mimic the interaction available via a mouse pointer. These interactions are not tailored for laymen to use without 3D modeling experience. Many of the operations also require two hand interactions that may not be adequate for smaller devices and require more muscle memory. Further, prior art applications involve multiple steps in which 3D solid models are not created dynamically in real-time consistent with the user's gestures.
In some cases, specific creation tools (e.g., extrude, revolve, offset, etc.) may have been implemented for multi-touch use. However, such creation tools are all static modality tools or commands that require proper selection. The tools are detached from the 3D navigation experience and do not fully take advantage of the multi touch input devices.
In view of the above, it may be understood that 3D modeling activities and tasks generally imply and require an understanding/mastering of concepts such as coordinate systems, tool operations, tool selection sequence, and validity of selections. Accordingly, what is needed is the capability to easily perform a variety of modeling operations (including creation, modification, and navigation) on a multi-touch input device in a dynamic manner without multiple steps or selection requirements.